← חזרה לכל המדריכים
מדעי המחשב

מה זה אלגוריתם

🧠

אלגוריתם הוא רצף הוראות סופי, חד־משמעי, שמקבל קלט ומפיק פלט לבעיה. מתכון עוגה הוא אלגוריתם; קוד פייתון הוא מימוש בשפה. במדעי המחשב מודדים גם כמה צעדים זה לוקח (סיבוכיות). חיפוש ליניארי בודק איבר־איבר. חיפוש בינארי דורש רשימה ממוינת וחוסך בדיקות. מיון בועות ללימוד, לא לייצור. בלי אלגוריתם ברור הקוד הופך לניסוי וטעייה.

תכונות שכדאי לדרוש

בהירות: אין "קצת מלח" במחשב. סופיות: הלולאה נעצרת. נכונות: על דוגמאות ובמקרי קצה — רשימה ריקה, איבר חסר. יעילות: לא חובה אופטימום בהתחלה, אבל לא לסרוק מיליון פעמים בלי צורך.

פסאודו־קוד בעברית לפני קוד: חוסך באגים של תחביר כשהרעיון עוד שבור.

חיפוש ליניארי

  1. קלט

    רשימה וערך x.

  2. לולאה

    עבור כל איבר, אם שווה ל־x החזר מיקום.

  3. אם נגמר

    החזר לא נמצא.

  4. סיבוכיות

    במקרה הגרוע מספר האיברים — O(n) בשפה של תיכון.

מיון וחיפוש בינארי

מיון: סדר עולה. בועות: משווים שכנים ומחליפים. איטי אבל ברור. בפייתון sorted קיים — בלימוד אלגוריתמים מממשים לבד פעם אחת.

חיפוש בינארי: חציון, אם x קטן הולכים שמאלה. הרשימה חייבת להיות ממוינת. זו הסיבה שלומדים מיון לפני.

טעויות נפוצות

  • לכתוב קוד בלי דוגמה ידנית.
  • לשכוח מקרה ריק.
  • בינארי על רשימה לא ממוינת.
  • לולאה בלי עצירה — לא אלגוריתם תקין.
  • לבלבל סיבוכיות מקום עם זמן.
💡 טיפ: פסאודו־קוד, דוגמה ידנית, אז קוד. בדקו קצה. ליניארי קודם, בינארי אחרי מיון. אלגוריתם ≠ שפת תכנות.

שאלות נפוצות

מה זה אלגוריתם?
רצף צעדים סופי וחד־משמעי מבעיה לפתרון. הקוד מממש אותו בשפה מסוימת.
מה ההבדל מקוד?
האלגוריתם רעיון; הקוד תחביר בשפה. אותו אלגוריתם בפייתון ובג׳אווה.
מה חיפוש ליניארי?
בדיקה איבר אחרי איבר עד שמוצאים או נגמרת הרשימה.
מתי בינארי?
כשהמערך ממוין. מחלקים טווח בחצי כל פעם.
למה סיבוכיות?
כדי להשוות איך זמן הריצה גדל עם גודל הקלט.
איך מתרגלים?
בעיות קטנות: מקסימום, ספירה, חיפוש, אחר כך מיון פשוט.

רוצים לראות את מורה-מורה בגוגל?

הוסיפו אותנו כמקור מועדף — והתוכן שלנו יופיע גבוה יותר בחיפושים שלכם.